Skip to content

Computer systems, sub-systems and decomposition

![Alt text](../7.1 The program development life cycle/image.png)

Computer system

  • A computer system is made up of software, data, hardware, communications and people; each computer system can be divided up into a set of sub-systems.

  • Each sub-system can be further divided into sub-systems and so on until each sub-system just performs a single action.

  • Computer systems can be very large, very small or any size in between; most people interact with many different computer systems during their daily life without realising it.

Sub-system

  • In order to understand how a computer system is built up and how it works it is often divided up into sub-systems.

  • This division can be shown using top-down design to produce structure diagrams that demonstrate the modular construction of the system.

  • Each sub-system can be developed by a programmer as a sub-routine.

  • How each sub-routine works can be shown by using flowcharts or pseudocode.

  • Top-down design is the decomposition of a computer system into a set of sub- systems, then breaking each sub-system down into a set of smaller sub-systems, until each sub-system just performs a single action.

Decomposition

  • Any problem that uses a computer system for its solution needs to be decomposed into its component parts.
  • The component parts of any computer system are:
    • inputs – the data used by the system that needs to be entered while the system is active
    • processes – the tasks that need to be performed using the input data and any other previously stored data
    • outputs – information that needs to be displayed or printed for the users of the system
    • storage – data that needs to be stored in files on an appropriate medium for use in the future.

Construct a solution

  • Solutions to problems need to be designed and developed rigorously.

  • The use of formal methods enables the process to be clearly shown for others to understand the proposed solution.

  • The following methods need to be used by IGCSE Computer Science students:

    • Structure diagrams
    • Flowcharts
    • Pseudocode

Structure diagrams

  • Structure diagrams can be used to show top-down design in a diagrammatic form.
  • Structure diagrams are hierarchical, showing how a computer system solution can be divided into sub-systems with each level giving a more detailed breakdown.
  • If necessary, each sub-system can be further divided.

Alt text

Flowchart

  • A flowchart shows diagrammatically the steps required to complete a task and the order that they are to be performed.
  • These steps, together with the order, are called an algorithm.
  • Flowcharts are an effective way to communicate how the algorithm that makes up a system or sub-system works.

Alt text

Alt text

Pseudocode

  • Pseudocode is a simple method of showing an algorithm.
  • It describes what the algorithm does by using English key words that are very similar to those used in a high-level programming language.
  • Data items to be processed by the algorithm are given meaningful names in the same way that variables and constants are in a high-level programming language.
  • However, pseudocode is not bound by the strict syntax rules of a programming language.

Alt text